public class TestDemo {
    public static void main3(String[] args) {
        Integer i1 = 100;
        Integer i2 = 100;
        System.out.println(i1 == i2);//true

        Integer i3 = 200;
        Integer i4 = 200;
        System.out.println(i3 == i4);//false
        Integer i5 = Integer.valueOf(10);//手动装箱
        //用类名.方法名   说明这个方法是被static修饰的  是属于类  不属于对象
        /*
        整个过程都在实现装箱操作
        装箱调用的是   Integer这个类中的valueOf()方法
        为什么结果不一样？
        看源码   valueOf()方法如何实现的
         */
    }
    public static void main2(String[] args) {
//        装箱：把基本数据类型转变成包装类型
        int a = 10;
//        Integer ii = a;//自动装箱
        Integer ii = Integer.valueOf(a);
        System.out.println(ii);
        System.out.println("===============");
//        拆箱：把包装类型转变成基本数据类型
       /* Integer i2 = new Integer(10);
//        int b = i2;
        int b = i2.intValue();
        double d = i2.intValue();
        System.out.println(b);//自动拆箱
        System.out.println(d);*/
    }
    public static void main1(String[] args) {
//        装箱：把基本数据类型转变成包装类型
        int a = 10;
        Integer ii = a;//自动装箱
        System.out.println(ii);
        System.out.println("===============");
//        拆箱：把包装类型转变成基本数据类型
//        Integer i2 = new Integer(10);
//        int b = i2;
//        System.out.println(b);//自动拆箱
    }
}
